Digital signal conditioner system

ABSTRACT

One example includes a digital signal conditioner (DSC) system. A sample selector bank receives a digital sample block of an input signal that is provided at a supported input oversampling factor and selects a subset of samples from the digital sample block based on a selection signal. A tap weights selector bank generates a set of tap weights based on the selection signal. A filter bank receives the subset of the samples from each of the sample selectors and a respective set of tap weights. Each filter provides a weighted sample associated with the respective subset of samples and the respective set of tap weights. A reformattor receives the weighted sample from each of the filters and provides a filtered sample block including the weighted sample from a subset of the filters at an output oversampling factor for each supported input oversampling factor based on a selected supported resampling ratio.

RELATED APPLICATIONS

This application claims priority from U.S. patent application Ser. No. 16/131,554, filed 14 Sep. 2018, which is incorporated herein in its entirety.

TECHNICAL FIELD

The present disclosure relates generally to communication systems, and specifically to a digital signal conditioner system.

BACKGROUND

The demand for high-throughput data transmission is ever increasing. Wireless or optical communications systems are typically optimized with respect to transmission and/or reception to enhance bandwidth utilization and increase transmission throughput. To improve reception, receiver systems may include filtering and/or other signal processing techniques. For example, a received signal can be sampled, and each of the samples can be processed via a filter system. Among other processing, the filtering system can help to remove artifacts and distortions in the received signal. Additionally, multiple data streams corresponding to different components of a common signal, such as multiple components of a quadrature signal and/or quadrature signals on multiple polarization components of a signal, can be conditioned to provide for commonality and consistency in given digital sample stream or set of digital sample streams.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a DSC system.

FIG. 2 illustrates another example of a DSC system.

FIG. 3 illustrates an example diagram of a sequence of digital sample blocks.

FIG. 4 illustrates an example diagram of a sample selector.

FIG. 5 illustrates an example diagram of a filter.

FIG. 6 illustrates an example diagram of output digital sample blocks.

FIG. 7 illustrates an example of an optical modem.

FIG. 8 illustrates an example of a method for conditioning an input signal in a DSC system.

DETAILED DESCRIPTION

The present disclosure relates generally to communications systems, and specifically to a digital signal conditioner (DSC) system. The DSC system can be implemented in a digital signal processor (DSP) circuit, such as in an integrated circuit (IC). For example, the DSC system can be implemented in a DSP of an optical receiver to provide signal conditioning on digital samples of dual-polarization quadrature optical signals. For example, the DSC system can be implemented to provide signal conditioning on input digital samples and to generate conditioned, e.g., deskewed and/or resampled, output digital samples at a predetermined fixed output oversampling factor for further processing in other systems of the DSP comprising the DSC system. For example, the DSC system can be configured to receive input digital sample blocks and to generate conditioned output digital sample blocks at a predetermined oversampling factor with each output digital sample block comprising a predetermined fixed number of samples.

The DSC system includes an overhang module configured to receive input digital sample blocks associated with an input signal, such as provided from an ADC, and to generate augmented digital sample blocks. The augmented digital sample blocks can be formed by prepending an overhang portion comprising a proper subset of digital samples from a preceding one of the input digital sample blocks to the respective one of the input digital sample blocks. As an example, the overhang portion can include a number of digital samples to allow for delay/advance operations to be performed on the augmented digital sample blocks of the input signal to compensate for a skew between the input signal and another input signal(s) to align output digital sample blocks of the respective input signals.

The DSC system also includes a sample selector bank and a filter bank. Each sample selector in the sample selector bank is configured to select a subset of digital samples from each augmented digital sample block to be provided to a respective filter of the filter bank. For example, each sample selector in the sample selector bank can be provided a respective predetermined portion of each augmented digital sample block, and can include a multiplexer that is configured to select a subset of the respective predetermined portion of the augmented digital sample block based on an integer portion of a respective one of a plurality of selection signals. As an example, the selection signals can be generated based on a deskew signal that defines the amount of deskew to be applied to compensate for the skew between the input signal and another input signal(s) (e.g., between in-phase and quadrature-phase component signals, or between in-phase and quadrature-phase component signals of both polarizations in case of dual-polarization quadrature optical signals), as well as a control signal that defines a selected one of a plurality of supported operating modes of the DSC system.

As used herein, the term the “supported operating modes” describe several predetermined operating modes that a DSP of a receiver comprising the DSC system, and hence, the DSC system itself, can be configured to operate at. Similarly, the “selected operating mode” is used herein to describe the selected one of the supported operating modes. Each one of the supported operating modes can be associated with an input sampling rate, an input oversampling factor, a symbol (or baud) rate, and/or a resampling ratio. Thus, as described herein, the terms “supported input oversampling rates,” “supported input oversampling factors,” “supported symbol rates,” and/or “supported resampling ratios” describe several predetermined input sampling rates, “input oversampling factors,” symbol rates and “resampling ratios,” respectively, that can be associated with one or more of the supported operating modes. Thus, each selected operating mode is associated with an input sampling rate, an input oversampling factor, a symbol rate and a resampling ratio. Any of the foregoing terms associated with a selected operating mode is understood to be “selected.” For example, the term “selected input oversampling factor” is understood to refer to the input oversampling factor associated with a selected operating mode. As used herein, the term “input oversampling factor” associated with an operating mode refers to the ratio of the input sampling rate to the symbol (or baud) rate associated with that operating mode, where the input sampling rate associated with an operating mode is defined as the sampling rate used to sample the input signal to generate the corresponding input digital samples in that operating mode. Also, as used herein, the term “resampling ratio” of an operating mode is described as the ratio of the input oversampling factor associated with that operating mode to the predetermined fixed output oversampling factor of the DSC system. As used herein, the term “subset,” unless expressly stated to the contrary, includes within its scope both all of the elements of the set and a proper subset of the elements of the set. Thus, references herein to a “subset” include a “proper subset.”

The selected subset of the samples from each of the sample selectors is provided to a respective filter of the filter bank. Also, each filter is provided a set of tap weights by a respective tap weights selector in a tap weights selector bank. The filter can thus generate a weighted sample by multiplying the set of samples by the set of tap weights and adding the products together. As an example, each tap weights selector can generate the set of tap weights based on a fractional portion of a respective one of the plurality of selection signals. The weighted samples can thus be provided to a reformattor that can generate a filtered sample block based on a selected resampling ratio. As an example, the selected resampling ratio can be 1:1, 1:2, 2:3, or 3:4. By discarding irrelevant samples and reorganizing the relevant ones based on the selected resampling ratio via the reformattor, the DSC system can thus provide output digital sample blocks comprising the predetermined fixed number of samples at a predetermined fixed output oversampling factor, regardless of which of many supported input oversampling factors the input digital sample blocks are provided to the DSC system. Thus, based on the selected resampling ratio, each digital output block can include at least one of the filtered sample blocks and can include at least a portion of an additional filtered sample block to maintain the predetermined fixed output oversampling factor regardless of the selected input oversampling factor.

FIG. 1 illustrates an example of a digital signal conditioner (DSC) system 10. The DSC system 10 can be implemented in any of a variety of signal receivers operating at one of the plurality of supported operating modes to receive input digital sample blocks associated with an input signal, provide digital signal conditioning on the input digital sample blocks, such as including deskewing and/or resampling, and/or generate conditioned, e.g., deskewed and/or resampled, output digital sample blocks comprising the predetermined fixed number of samples at the predetermined fixed output oversampling factor. Therefore, as described herein, the DSC system 10 implemented in a DSP of a receiver can provide to other downstream processing systems in the DSP (not shown) output digital sample blocks each comprising the predetermined fixed quantity of samples at the predetermined fixed output oversampling factor regardless of the input signal being provided at any of the supported input oversampling factors. Therefore, the DSC system 10 can operate in any of several supported operating modes and still provide output digital sample blocks comprising the predetermined fixed quantity of samples at the predetermined fixed output oversampling factor. As an example, the DSC system 10 can be implemented in a DSP of an optical receiver to provide output digital sample blocks of dual-polarized quadrature optical signals, as described in greater detail herein.

In the example of FIG. 1, the DSC system 10 receives input digital sample blocks, demonstrated as a signal IN_SMPL that are associated with an input signal. As an example, the input digital sample blocks IN_SMPL can be provided from an ADC in the associated receiver comprising the DSP comprising the DSC system 10. For example, the input signal can be a first input signal that can be associated with a second input signal, such as based on first and second input signals modulated onto orthogonal polarizations of light or based on the first and second input signals forming a quadrature signal pair. The DSC system 10 is configured to output digital sample blocks, demonstrated as a signal R_SMPL, corresponding to the conditioned input digital sample blocks IN_SMPL. As an example, and as described in greater detail herein, the DSC system 10 can deskew the first and second input signals.

In the example of FIG. 1, the DSC system 10 also includes a sample selector bank 12. The sample selector bank 12 includes a plurality of sample selectors that are each configured to select a subset of digital samples from each of the input digital sample blocks IN_SMPL. As an example, the plurality of sample selectors can select a subset of digital samples from each of the digital sample blocks IN_SMPL. In some embodiments, the subset of digital samples can be selected from digital sample blocks IN_SMPL that are generated by incorporating an overhang portion, as described in greater detail herein. As an example, the quantity of the sample selectors can be equal to the number of digital samples in the input digital sample blocks IN_SMPL (e.g., 256). Each of the sample selectors in the sample selector bank 12 can be provided a predetermined portion of the input digital sample blocks IN_SMPL (e.g., increasing in range by a single sample). Each of the sample selectors in the sample selector bank 12 can include a multiplexer that is configured to select a subset of the predetermined portion of each of the input digital sample blocks IN_SMPL based on a respective one of a plurality of selection signals, demonstrated in the example of FIG. 1 as signals SEL, as described in greater detail herein. For example, each multiplexer can make its selection based on an integer portion of the respective one of the selection signals. As an example, the selection signals can be generated based on a deskew signal that defines the amount of deskew to be applied to compensate for the skew between the input signal and another input signal(s) (e.g., between in-phase and quadrature-phase component signals, or between in-phase and quadrature-phase component signals of both polarizations in case of dual-polarization quadrature optical signals), as well as a control signal that defines a selected one of a plurality of supported operating modes of the DSC system 10.

The DSC system 10 also includes a tap weights selector bank 14. The tap weights selector bank 14 can include a plurality of tap weights selectors that are each configured to generate a set of tap weights based on a respective one of the selection signals SEL. As an example, the quantity of the tap weights selectors can be equal to the number of digital samples in the input digital sample blocks IN_SMPL (e.g., 256). For example, the sets of tap weights can be generated by each of the tap weights selectors in the tap weights selector bank 14 based on a fractional portion of the selection signals SEL.

The DSC system 10 also includes a filter bank 16. The filter bank 16 includes a plurality of filters (e.g., finite impulse response (FIR) filters). As an example, the quantity of the filters can be equal to the number of digital samples in the input digital sample blocks IN_SMPL (e.g., 256). Each of the filters of the filter bank 16 receives the selected subset of the samples from each of the respective sample selectors of the sample selector bank 12, and also receives a set of tap weights provided from the respective tap weights selector in the tap weights selector bank 14. Each respective filter of the filter bank 16 thus, for example, generates a weighted sample by multiplying the respective set of samples by a respective set of tap weights and adding the resulting products together.

The weighted samples can thus be provided to a reformattor 18 that can generate a filtered sample block based on a selected resampling ratio. As an example, the resampling ratio can be 1:1, 1:2, 2:3, or 3:4. By discarding irrelevant samples and reorganizing the relevant ones based on the selected resampling ratio via the reformattor 18, the DSC system 10 can thus provide output digital sample blocks R_SMPL comprising the predetermined fixed number of samples at a predetermined fixed output oversampling factor, regardless of which one of a variety of supported input oversampling factors that the input digital sample blocks are provided to the DSC system 10. For example, based on the selected resampling ratio, each output digital sample block can include at least one of the filtered sample blocks, and can include at least a portion of an additional filtered sample block to maintain the predetermined output oversampling factor regardless of the selected input oversampling factor.

FIG. 2 illustrates another example of a digital signal conditioner (DSC) system 50. The DSC system 50 can be implemented in any of a variety of signal receivers operating at one of the plurality of supported operating modes to receive input digital sample blocks associated with an input signal, provide digital signal conditioning on the input digital sample blocks, such as including deskewing and/or resampling, and generate conditioned, e.g., deskewed and/or resampled, output digital sample blocks comprising the predetermined fixed number of samples at the predetermined fixed output oversampling factor. As an example, the DSC system 50 can be implemented in a DSP, such as in a DSP of an optical receiver to provide output digital sample blocks of dual-polarized quadrature optical signals, as described in greater detail herein.

The DSC system 50 receives input digital sample blocks IN_SMPL that are associated with an input signal. As an example, the input digital sample blocks IN_SMPL can be provided from an ADC in the associated receiver comprising the DSP comprising the DSC system 50. For example, the input signal can be a first input signal that can be associated with a second input signal, such as based on first and second input signals modulated onto orthogonal polarizations of light or based on the first and second input signals forming a quadrature signal pair.

In the example of FIG. 2, the DSC system 50 includes an overhang module 52. The overhang module 52 is configured to receive the input digital sample blocks IN_SMPL and to generate augmented digital sample blocks A_SMPL based on the input digital sample blocks IN_SMPL to accommodate additional samples to compensate for the skew associated with the input signal (e.g., between the first and second input signals) and to perform contiguous filtering of samples received as one block of samples at a time, e.g., one block per valid clock cycle. The overhang module 52 can generate the augmented digital sample blocks A_SMPL by prepending a portion of a preceding input digital sample block IN_SMPL to a proceeding input digital sample block IN_SMPL. The portion of the preceding augmented digital sample block A_SMPL is referred to hereinafter as an “overhang portion” of the proceeding augmented digital sample block A_SMPL. As an example, and as described in greater detail herein, the overhang portion can have a quantity of digital samples that can be equal to a sum of an integer number of samples to allow for contiguous filtering of input digital sample blocks and an integer value corresponding to an effective sample shift range supported by the DSC system 50, as described in more detail herein. As a result, the skew between multiple input signals can be mitigated (e.g., eliminated), i.e., multiple input signals can be deskewed or aligned, by selecting samples from their respective augmented digital sample blocks A_SMPL to effectively delay/advance the digital samples associated with the respective input signals to eliminate the skew between them.

FIG. 3 illustrates an example diagram 100 of a sequence of digital sample blocks. The diagram 100 demonstrates a sequence of augmented digital sample blocks 102 that can be generated via an overhang module, such as the overhang module 52 in the example of FIG. 2. Therefore, reference is to be made to the example of FIG. 2 in the following description of the example of FIG. 3.

The augmented digital sample blocks 102 each include a digital sample block portion 104 and an overhang portion 106. In the example of FIG. 3, the augmented digital sample blocks 102 are demonstrated numerically in the sequence, beginning with SAMPLE BLOCK 1 and continuing therefrom. The digital sample block portion 104 of each of the augmented digital sample blocks 102 has a sample length of S₁, corresponding to a predetermined quantity of samples (e.g., 256) in the respective input digital sample block. The overhang portion 106 of each of the augmented digital sample blocks 102 has a sample length of S₂, corresponding to a predetermined quantity of samples (e.g., 31) in the overhang portion. Therefore, the entirety of each of the augmented digital sample blocks 102 is demonstrated as having a sample length of S₃ corresponding to the total number of samples in each of the augmented digital sample blocks 102 as a sum of the sample lengths S₁ and S₂.

In the example of FIG. 3, each of the augmented digital sample blocks 102 is formed by replicating a portion 108 of the digital sample block portion 104 of the preceding augmented digital sample block and prepending the portion 108 to the digital sample block portion 104 of the proceeding augmented digital sample block. As an example, the portion 108 can correspond to the last samples of the digital sample block portions 104 of the augmented digital sample blocks 102. In the example of FIG. 3, the first augmented digital sample block 102 includes a digital sample block portion 104 labeled SAMPLE BLOCK 1 and an overhang portion 106 labeled OVERHANG PORTION 0 corresponding to the portion 108 from the digital sample block portion 104 of the preceding 0^(th) augmented digital sample block. Similarly, the second augmented digital sample block 102 includes a digital sample block portion 104 labeled SAMPLE BLOCK 2 and an overhang portion 106 labeled OVERHANG PORTION 1 corresponding to the portion 108 from the digital sample block portion 104 of the first augmented digital sample block, and so forth.

Referring back to the example of FIG. 2, the DSC system 50 also includes a selection signal generator 54. The selection signal generator 54 is configured to generate a plurality N of selection signals, demonstrated as SEL_1 through SEL_N, where N is equal to the number of digital samples in the input digital sample blocks IN_SMPL (e.g., 256), based on a control signal CTRL and a deskew signal DSKW. The control signal CTRL can define an operating mode of the DSC system 50 (e.g., of the DSP in which the DSC system 50 is included) and hence also parameters, e.g., input oversampling factor, resampling ratio, etc., associated with the selected operating mode. For example, the control signal CTRL can define the respective one of a plurality of supported operating modes of the DSC system 50 is configured to operate at, and hence the selected input oversampling factor and the selected resampling ratio of the DSC system 50. Therefore, the control signal CTRL can define the resampling ratio to be used while processing the input digital sample blocks IN_SMPL, such that the DSC system 50 can implement resampling of the input digital sample blocks IN_SMPL based on the selected resampling ratio to generate resampled digital sample blocks at the predetermined fixed output oversampling factor, as described herein in greater detail. The deskew signal DSKW can define a deskew value associated with the input signal, such as relative to one or more additional input signals associated with the DSP in which the DSC system 50 is included. Therefore, the DSC system 50 can use the deskew value provided by the DSKW signal to eliminate a corresponding skew between input signals by effectively delaying/advancing the samples of the input digital sample blocks IN_SMPL in accordance with the deskew value, as described herein in greater detail.

Both the resampling ratio of the selected operating mode identified by the CTRL signal and the deskew value identified by the DSKW signal can impact how samples are chosen and how tap weights are generated for inputs to each filter of a filter bank 64 in a sample selector bank 56 and a tap weights selector bank 60, respectively, of the DSC system 50 as shown in FIG. 2. Therefore, the selection signals, referred to collectively as signals SEL, are formed by combining the contributions of the resampling ratio and the deskew value. Each selection signal can have both an integer and a fractional component. The integer component of each selection signal defines an effective integer-sample shift value for use by the respective sample selector 58 and the fractional component of each selection signal defines an effective fractional-sample instance for use by the respective tap weights selector 62. For example, each of the selection signals SEL can include a first portion corresponding to the integer component of the selection signal that defines how the samples are to be chosen by the respective sample set selectors 58 and a second portion corresponding to the fractional component of the selection signal that defines which tap weights are to be generated by the respective tap weights selector 62, as described in greater detail herein.

As noted, the DSC system 50 also includes the sample selector bank 56. The sample selector bank 56 includes a plurality N of sample selectors 58, where N is equal to the number of digital samples in the input digital sample blocks IN_SMPL (e.g., 256). The sample selectors 58 are each configured to select a subset of digital samples from each of the augmented digital sample blocks A_SMPL. Each of the sample selectors 58 can be provided a predetermined portion of the augmented digital sample blocks A_SMPL (e.g., increasing in range by a single sample). For example, each of the predetermined portions can be equal in quantity of samples to the quantity of samples in a given overhang portion 106 of a given one of the augmented digital sample blocks A_SMPL. For example, each of the sample selectors 58 can include a multiplexer that is configured to select a subset of the respective predetermined portion of each of the augmented digital sample blocks A_SMPL based on the first portion of the respective one of the selection signals SEL, and thus based on the respective effective integer shift value.

FIG. 4 illustrates an example diagram 150 of a sample selector. The diagram 150 of the sample selector can correspond to one of the sample selectors 58 in the example of FIG. 2. Therefore, reference is to be made to the example of FIG. 2 in the following description of the example of FIG. 4.

The diagram 150 demonstrates an augmented digital sample block 152 corresponding to one of the augmented input digital sample blocks A_SMPL that is provided by the overhang module 52. The augmented digital sample block 152 includes a digital sample block portion 154, demonstrated as SAMPLE BLOCK X and an overhang portion 156, demonstrated as OVERHANG PORTION X−1, such as prepended to the digital sample block portion 154 from a preceding augmented digital sample block. As described previously, each of the sample selectors 58 selects a subset of digital samples from the augmented digital sample block 152. For example, each of the sample selectors 58 can be provided a predetermined portion of the augmented digital sample block 152, with each of the predetermined portions being demonstrated as a group G in the example of FIG. 4. As also described previously, each of the predetermined portions can be equal in quantity of samples to the quantity of samples in the overhang portion 156 of the augmented digital sample blocks 152. Therefore, the predetermined portions of the augmented digital sample blocks 152 that are received by the respective sample selectors 58 are demonstrated as numbering from G₁ to G_(N), respectively. For example, each of the predetermined portions can have an equal range of digital samples that increases by a single sample from one predetermined portion to the next.

In the example of FIG. 4, the sample selector can correspond to a Kth sample selector of the N sample selectors 58. Therefore, the first sample selector 58 receives the first predetermined portion G₁, the second sample selector 58 receives the second predetermined portion G₂, and so forth with the Kth sample selector 58 receiving the Kth predetermined portion G_(K) corresponding to any of the N predetermined portions. Thus, in the example of FIG. 4, the Kth predetermined portion G_(K) is demonstrated in an exploded view as GROUP K at 158. The Kth predetermined portion 158 can thus span a quantity of digital samples that is equal to quantity of samples of the overhang portion 156. Each of the digital samples of the Kth predetermined portion 158 is provided to a multiplexer 160, demonstrated as MUX K, and thus corresponding to the Kth sample selector 58. The multiplexer 160 is configured to select a subset of samples, demonstrated as SG_(SK), from the Kth predetermined portion 158 based on the respective one of the selection signals SEL, demonstrated as SEL_K. As an example, the subset of samples can have a quantity of digital samples that corresponds to a number of filter taps associated with each of the filters of an associated filter bank, as described in greater detail herein.

As described previously, the selection signals SEL include a first portion that defines the effective integer shift value. The multiplexer 160 can thus receive the first portion of the selection signal SEL_K as an input to select the subset of samples SG_(SK) based on the effective integer shift value. In the example of FIG. 4, the Kth predetermined portion 158 can include a center sample C that is associated with a zero effective integer-sample shift, such that the Kth predetermined portion 158 has a range extending from a sample C−SK to a sample C+SK−1 that is referred to herein as an effective sample shift range. Thus, the Kth predetermined portion 158 is demonstrated as covering the range of digital samples from sample C+SK−1 and to sample C−SK from which the subset of samples SG_(SK) can be selected. Therefore, the effective integer-sample shift value defined by the first portion of the selection signal SEL_K can determine which of the digital samples are selected as the subset of samples SG_(SK) from the Kth predetermined portion 158 based on the corresponding sample shift from the center sample C of the Kth predetermined portion 158. Accordingly, the multiplexer 160 can output the subset of samples SG_(SK) selected from the Kth predetermined portion 158 as a subset of samples SG_(K).

Referring back to the example of FIG. 2, the DSC system 50 also includes the tap weights selector bank 60. The tap weights selector bank 60 includes a plurality N of tap weights selectors 62, where N is equal to the number of digital samples in the input digital sample blocks IN_SMPL (e.g., 256). Each of the tap weights selectors 62 is configured to generate a set of tap weights, demonstrated respectively as TW_1 through TW_N, based on a respective one of the selection signals SEL. As described previously, each of the selection signals SEL can include a second portion that defines an effective fractional-sample instance. Therefore, each of the tap weights selectors 62 can generate the respective one of the sets of tap weights TW based on the effective fractional-sample instance defined by the second portion of the selection signal. Therefore, each of the sets of tap weights TW selected based on the second portion of the selection signals SEL defining the effective fractional-sample instance can determine a set of weights to multiply the respective samples of the augmented digital sample block A_SMPL selected by the respective one of the sample selectors to generate an output at the corresponding fractional-sample instance.

As an example, filter tap weights of each filter corresponding to each supported operating mode can be represented in its polyphase representation and stored in memory within the tap weights selector bank 60 for access by the tap weights selectors 62. Supported resampling ratios by the DSC system 50 can be represented as a rational number L/M with L being a predetermined fixed non-zero integer value and M being set based on the selected resampling ratio and the value L. For example, setting the value L to 128, the resampling ratio 1:1 can be represented as 128:128, the resampling ratio 1:2 can be represented as 128:256, and so on. In the previous example with L is equal to 128, it is possible to generate output samples at a fractional-sample spacing of 1/128th of a sample period. For example, if each filter in the filter bank 64 has sixteen filter taps then the filter can be represented by a two-dimensional look-up table with L rows and sixteen columns, with each row housing sixteen tap weights of the corresponding phase of the polyphase filter. Therefore, each of the tap weights selectors 62 of the tap weights selector bank 60 can generate (e.g., select) tap weights utilizing such a look-up table. For example, each tap weights selector 62 can acquire the tap weights at a row selected based on the second portion of the respective selection signal that defines the effective fractional-sample instance. In other words, the fractional portion of the selection signal SEL corresponding to the respective tap weights selector 62 can determine the row of the polyphase filter look-up table from which the tap weights TW are drawn for use by the respective filter 66 in the filter bank 64. In such an embodiment, fixing the value L to a predetermined value regardless of the supported operating modes and the associated supported resampling ratios a more-efficient hardware implementation can be realized.

The DSC system 50 also includes the filter bank 64 as shown in FIG. 2. The filter bank 64 includes a plurality N of filters 66 (e.g., finite impulse response (FIR) filters), where N is equal to the number of digital samples in the input digital sample blocks IN_SMPL (e.g., 256). Each of the filters 66 of the filter bank 64 receives the selected subset of the samples SG from the respective sample selector 58 of the sample selector bank 56, and also receives the set of tap weights TW provided by the respective tap weights selector 62 of the tap weights selector bank 60. The filter bank 64 thus generates a set of N weighted samples, demonstrated as W_SMPL_1 through W_SMPL_N, corresponding to the filtering of the subsets of samples via the sets of filter taps TW.

FIG. 5 illustrates an example diagram 200 of a filter. The diagram 200 of the filter can correspond to one of the filters 66 in the example of FIG. 2. Therefore, reference is to be made to the example of FIG. 2 in the following description of the example of FIG. 5.

In the example of FIG. 5, the filter can correspond to a Kth filter of the N filters 66. The diagram 200 demonstrates a subset of samples SG_(K) being provided to the filter, demonstrated as SG_(K_1) through SG_(K_Y), where Y is a positive integer corresponding to a quantity of digital samples in each of the subsets of samples SG. As described previously, the quantity of samples in each of the subsets of samples SG can correspond to a number of filter taps of each of the filters 66. Thus, each of the sets of tap weights TW can include a number of tap weights equal to the number of taps of each of the filters 66. In the example of FIG. 5, the filter receives a set of tap weights, demonstrated as TW_(K_1) through TW_(K_Y), where Y corresponds to a quantity of digital samples in each of the subsets of samples SG, and thus the number of tap weights of each of the filters 66.

The Kth filter includes a quantity Y of multipliers 202 that are each configured to multiply a given one of the digital samples of the subset of samples SG_(K) with a respective one of the tap weights TW_(K). In the example of FIG. 5, the multipliers 202 each generate a respective product term SG_M_(K). Additionally, the Kth filter includes a quantity Y−1 of adders 204 that are configured to add each of the product terms SG_M_(K) together to generate a respective weighted sample W_SMPL_(K). The weighted sample W_SMPL_(K) can thus correspond to a deskewed and resampled output sample at the fractional-sample instance corresponding to the tap weights TW_(K).

Referring back to the example of FIG. 2, the weighted samples W_SMPL can thus be provided to a reformattor 68 that can generate the filtered sample block of the weighted samples W_SMPL based on a selected resampling ratio. As an example, the resampling ratio can be 1:1, 1:2, 2:3, or 3:4, such as identified by the control signal CTRL. For example, as described previously, the control signal CTRL defines the operating mode of the DSC system 10, and thus a respective one of the plurality of supported resampling ratios that can result in the predetermined output oversampling factor for the respective one of the input oversampling factors associated with the input digital sample block IN_SMPL. As an example, based on the resampling ratio, the reformattor 68 can selectively discard some of the weighted samples W_SMPL to accommodate the selected resampling ratio.

As an example, based on the control signal CTRL providing an indication of a 1:1 resampling ratio, the reformattor 68 does not discard any of the weighted samples W_SMPL in providing the respective filtered sample block. However, based on the control signal CTRL providing an indication of a 1:2 resampling ratio, the reformattor 68 discards every other one of the weighted samples W_SMPL in providing the respective filtered sample block. As another example, based on the control signal CTRL providing an indication of a 2:3 resampling ratio, the reformattor 68 discards every third one of the weighted samples W_SMPL in providing the respective filtered sample block. As yet another example, based on the control signal CTRL providing an indication of a 3:4 resampling ratio, the reformattor 68 discards every fourth one of the weighted samples W_SMPL in providing the respective filtered sample block.

As described previously, the reformattor 68 provides the output digital sample blocks R_SMPL comprising a predetermined fixed number of digital samples at a predetermined fixed output oversampling factor, regardless of which one of a variety of supported input oversampling factors that the input signal is provided to the DSC system 50. Since the reformattor 68 selectively discards some of the weighted samples as described above, depending on the predetermined fixed number of samples desired in each output digital sample block, the reformattor 68 might not have enough samples to generate an output digital sample block at a given clock cycle. For example, if the predetermined fixed number of samples in each output digital sample block R_SMPL is set as the same as the number N, say 256, of samples in each input digital sample block IN_SMPL, then when the resampling ratio is set to 1:2, for each valid clock cycle, the DSC system 50 could generate 128 relevant weighted samples, not sufficient to generate an output digital sample block. In the next clock cycle, however, with another set of 128 weighted samples having been generated, the reformattor can thus form an output digital sample block R_SMPL of the desired size, i.e., 256 samples, and release the output sample block in that clock cycle. Therefore, with the 1:2 resampling ratio, the DSC system 50 can be said to generate valid output digital sample blocks for every two valid input digital sample blocks. Therefore, each of the output digital sample blocks R_SMPL can include one or more (e.g., a portion or an integer total) of the filtered sample blocks that include the weighted samples W_SMPL to fill the predetermined fixed number of digital samples in each of the output digital sample blocks R_SMPL.

As an example, in each valid clock cycle, the reformattor 68 can be configured to buffer each of the weighted samples W_SMPL (e.g., the weighted samples W_SMPL that are not discarded based on the resampling ratio) generated in that clock cycle processing the corresponding received input digital sample block IN_SMPL. In response to the number of buffered weighted samples W_SMPL being equal to the predetermined fixed number of digital samples in each output digital sample block R_SMPL in each clock cycle, the reformattor 68 can release the given output digital sample block R_SMPL in that clock cycle. If the number of buffered weighted samples W_SMPL is greater than the predetermined fixed number of digital samples in each output digital sample block in a given clock cycle, then the reformattor 68 can still release an output digital sample block R_SMPL in that clock cycle while keeping the excess weighted samples in buffer to be combined with the weighted samples to be generated in a subsequent clock cycle(s). If the number of buffered weighted samples W_SMPL is less than the predetermined fixed number of digital samples in each output digital sample block in a given clock cycle, such as based on the resampling ratio being smaller than the 1:1 ratio, then the reformattor 68 can keep on buffering weighted samples W_SMPL until the number of buffered weighted samples W_SMPL is greater than or equal to the predetermined fixed number digital samples in each output digital sample block R_SMPL. As a result, a given one of the filtered sample blocks can occupy more than one of the output digital sample block R_SMPL, such as having a first portion in a given output digital sample block R_SMPL and a second portion in a next proceeding output digital sample block R_SMPL.

FIG. 6 illustrates an example diagram 250 of output digital sample blocks. The diagram 250 illustrates a first example 252 of output digital sample blocks, a second example 254 of output digital sample blocks, a third example 256 of output digital sample blocks, and a fourth example 256 of output digital sample blocks. The examples 252, 254, 256, and 258 can each correspond to sequential sets of output digital sample blocks in each of different respective resampling ratios. The examples 252, 254, 256, and 258 of the output digital sample blocks can correspond to the output digital sample blocks R_SMPL provided by the reformattor 68. Therefore, reference is to be made to the example of FIG. 2 in the following description of the example of FIG. 6.

In each of the examples 252, 254, 256, and 258, the output digital sample blocks are demonstrated as each having the same width diagrammatically, thus indicating the number of digital samples in each of the output digital sample blocks being equal in each of the examples 252, 254, 256, and 258. However, as described in greater detail herein, the number of digital samples (e.g., weighted samples W_SMPL) in each of the filtered sample blocks is different in each of the examples 252, 254, 256, and 258. As described previously, the reformattor 68 can buffer each of the weighted samples W_SMPL, and in response to the number of buffered weighted samples W_SMPL being greater than or equal to the predetermined fixed number of digital samples in a given output digital sample block R_SMPL, the reformattor 68 can release the given output digital sample block R_SMPL, keeping any excess weighted samples in the buffer. Therefore, some of the filtered sample blocks may occupy more than one of the output digital sample blocks based on the resampling ratio.

The first example 252 demonstrates a set of filtered sample blocks that are output from the reformattor 68 in a 1:1 resampling ratio as the output digital sample blocks. The first example 252 demonstrates a first output digital sample block 260, a second output digital sample block 261, a third output digital sample block 262, and a fourth output digital sample block 263 that are provided sequentially from the reformattor 68 at a rate of one output digital sample block in every clock cycle in which the DSC system 50 receives a valid input digital sample block. Because the first example 252 corresponds to a 1:1 resampling ratio, the reformattor 68 does not discard any of the weighted samples W_SMPL in forming the filtered sample blocks. Therefore, the first example 252 demonstrates a first filtered sample block 264 that corresponds to the first output digital sample block 260, a second filtered sample block 265 that corresponds to the second output digital sample block 261, a third filtered sample block 266 that corresponds to the third output digital sample block 262, and a fourth filtered sample block 267 that corresponds to the fourth output digital sample block 263.

The second example 254 demonstrates a set of filtered sample blocks that are output from the reformattor 68 for a 1:2 resampling ratio as the output digital sample blocks. The second example 254 demonstrates a first output digital sample block 268, a second output digital sample block 269, a third output digital sample block 270, and a fourth output digital sample block 271 that are provided sequentially from the reformattor 68 at a rate of one output digital sample block in every two clock cycles during which the DSC system 50 receives a valid input digital sample block. Because the second example 254 corresponds to a 1:2 resampling ratio, the reformattor 68 discards every other weighted sample W_SMPL in forming the filtered sample blocks. However, the reformattor 68 still buffers the same number of digital samples as it would in the first example 252 (e.g., 256 digital samples). Therefore, the second example 254 demonstrates a first filtered sample block 272 and a second filtered sample block 273 that collectively correspond to the first output digital sample block 268, and a third filtered sample block 274 and fourth filtered sample block 275 that collectively correspond to the second output digital sample block 269. Similarly, the second example 254 demonstrates a fifth filtered sample block 276 and a sixth filtered sample block 277 that collectively correspond to the third output digital sample block 270, and a seventh filtered sample block 278 and an eighth filtered sample block 279 that collectively correspond to the fourth output digital sample block 271.

The third example 256 demonstrates a set of filtered sample blocks that are output from the reformattor 68 in a 2:3 resampling ratio as the output digital sample blocks. The third example 256 demonstrates a first output digital sample block 280 and a second output digital sample block 281 that are provided sequentially from the reformattor 68 at a rate of two output digital sample blocks in every three clock cycles during which the DSC system 50 receives a valid input digital sample block. Because the third example 256 corresponds to a 2:3 resampling ratio, the reformattor 68 discards every third weighted sample W_SMPL in forming the filtered sample blocks. However, the reformattor 68 still buffers the same number of digital samples as it would in the first example 252 (e.g., 256 digital samples). Therefore, the third example 256 demonstrates a first filtered sample block 282 and a second filtered sample block 283. Because the first filtered sample block 282 has fewer digital samples (e.g., 170 digital samples) than the first output digital sample block 280, the first filtered sample block 282 resides completely in the first output digital sample block 280. However, the second filtered sample block 283 has a first portion (e.g., 86 digital samples) that is in the first output digital sample block 280 and a second portion (e.g., approximately 84 digital samples) that is in the second output digital sample block 281. A third filtered sample block 284 occupies the remainder (e.g., 172 digital samples) of the second output digital sample block 281. Subsequent output digital sample blocks are thus provided from the reformattor 68 similar to the sequential pairs of the first and second output digital sample blocks 280 and 281.

The fourth example 258 demonstrates a set of filtered sample blocks that are output from the reformattor 68 in a 3:4 resampling ratio as the output digital sample blocks. The fourth example 258 demonstrates a first output digital sample block 285, a second output digital sample block 286, and a third output digital sample block 287 that are provided sequentially from the reformattor 68 at a rate of three output digital sample blocks in every four clock cycles during which the DSC system 50 receives a valid input digital sample block. Because the fourth example 258 corresponds to a 3:4 resampling ratio, the reformattor 68 discards every fourth weighted sample W_SMPL in forming the filtered sample blocks. However, the reformattor 68 still buffers the same number of digital samples as it would in the first example 252 (e.g., 256 digital samples).

Therefore, the fourth example 258 demonstrates a first filtered sample block 288 and a second filtered sample block 289. Because the first filtered sample block 288 has fewer digital samples (e.g., 192 digital samples) than the first output digital sample block 285, the first filtered sample block 288 resides completely in the first output digital sample block 285. However, the second filtered sample block 289 has a first portion (e.g., 64 digital samples) that is in the first output digital sample block 285 and a second portion (e.g., 128 digital samples) that is in the second output digital sample block 286. A first portion of a third filtered sample block 290 occupies the remainder (e.g., 128 digital samples) of the second output digital sample block 286, and a second portion (e.g., 64 digital samples) of the third filtered sample block 290 resides in the third output digital sample block 287. An entirety of a fourth filtered sample block 291 occupies the remainder of the third output digital sample block 287. Subsequent output digital sample blocks are thus provided from the reformattor 68 similar to the three sequential output digital sample blocks 285, 286, and 287.

Therefore, the diagram 250 demonstrates that each of the supported input oversampling factors can be accommodated by the DSC system 50 to generate output digital sample blocks R_SMPL each comprising the predetermined fixed number of samples at the predetermined output oversampling factor based on the respective one of supported resampling ratios as identified by the control signal CTRL. The examples 252, 254, 256, and 258 are examples of four different resampling ratios. However, it is to be understood that the reformattor 68, and thus the DSC system 10, is not limited to the four resampling ratios 1:1, 1:2, 2:3, and 3:4 that are represented in the diagram 250. Therefore, additional resampling ratios can be implemented by the DSC system 10 to accommodate a variety of different input oversampling factors while providing output sample blocks at the predetermined fixed output oversampling factor.

FIG. 7 illustrates an example of an optical modem 300. The optical modem 300 can be configured as a transceiver with respect to transmitting and receiving optical signals. In the example of FIG. 7, the optical modem 300 includes a receiver channel, such that the input optical signals OPT_(IN) can be provided to the optical modem 300 to generate digital output signals SIG_(OUT). Additionally, the optical modem 300 includes a transmitter channel, such that digital input signals SIG_(IN) can be transmitted from the optical modem 300 as optical output signals OPT_(OUT).

The optical modem 300 includes a digital signal processor (DSP) 302 that includes a transmitter system (TX SYSTEM) 304 and a receiver system (RX SYSTEM) 306. As an example, the DSP 302 can be arranged as or arranged as a portion of an integrated circuit (IC). The DSP 302 can receive the digital input signals SIG_(IN) that can be processed by the transmitter system 304 (e.g., modulation and/or signal conditioning) and provided to a digital-to-analog converter (DAC) 308. The DAC 308 can be configured to convert the processed digital electrical signals SIG_(IN) to analog electrical signals. The analog electrical signals are provided to an optical modulator 310 that is configured to modulate the electrical signals into optical output signals OPT_(OUT) via a laser 312. The optical output signals OPT_(OUT) are thus provided from the optical modem 300 via an optical output 314 (e.g., an optical fiber or laser output).

Similarly, an optical input 316 (e.g., an optical fiber, which can be the same optical fiber as the optical output 314) receives an optical input signal OPT_(IN). For example, the optical input signal OPT_(IN) can be a dual-polarization optical signal that includes a horizontal polarization and a vertical polarization that are arranged orthogonally with respect to each other. As another example, the optical input signal OPT_(IN) can also be quadrature modulated, such that each of the horizontal polarization component and vertical polarization component can include an in-phase component and a quadrature-phase component. The optical input signal OPT_(IN) can be demodulated via an optical demodulator 324. In the example of FIG. 7, the optical demodulator 324 is configured to demodulate the optical input signal OPT_(IN) via the laser 312. However, it is to be understood that the optical modem 300 can instead include separate lasers 312 for modulation and demodulation. The optical demodulator 324 thus generates an analog electrical signal that is provided to an analog-to-digital converter (ADC) 326 that generates digital samples of the analog electrical signal.

In the example of FIG. 7, the receiver system 306 of the DSP 302 includes DSC systems 328. Each of the DSC systems 328 can correspond to the DSC system 10 in the example of FIG. 1 or the DSC system 50 in the example of FIG. 2. As an example, the ADC 326 can provide separate digital sample streams at one of a plurality of input oversampling factors corresponding to each of the in-phase and quadrature-phase components of each of the horizontal polarization component and vertical polarization component. Therefore, the digital samples provided by the ADC 326 can correspond to a separate respective set of the input digital sample blocks IN_SMPL. Therefore, each of the DSC systems 328 can process the respective digital sample streams provided by the ADC 326 into output digital sample blocks, such as the output digital sample blocks R_SMPL, that include the filtered sample blocks. Accordingly, the separate streams of output digital sample blocks R_SMPL can be deskewed relative to each other, and can be provided at a predetermined fixed output oversampling factor with each output digital sample block R_SMPL comprising the predetermined fixed number of samples regardless of the input oversampling factor at which the ADC 326 provides the input digital sample blocks IN_SMPL. The receiver system 304 can thus process the output digital sample blocks R_SMPL to provide respective digital output signals SIG_(OUT).

In view of the foregoing structural and functional features described above, a methodology in accordance with various aspects of the present invention will be better appreciated with reference to FIG. 8. While, for purposes of simplicity of explanation, the methodology of FIG. 8 is shown and described as executing serially, it is to be understood and appreciated that the present invention is not limited by the illustrated order, as some aspects could, in accordance with the present invention, occur in different orders and/or concurrently with other aspects from that shown and described herein. Moreover, not all illustrated features may be required to implement a methodology in accordance with an aspect of the present invention.

FIG. 8 illustrates an example of a method 350 for conditioning an input signal in a DSC system (e.g., the DSC system 10). At 352, a digital sample block (e.g., the input digital sample block IN_SMPL) associated with the input signal is received from (directly or indirectly through additional processing (not shown)) an ADC (e.g., the ADC 326). At 354, a plurality of selection signals (e.g., the selection signals SEL) are generated in response to a control signal (e.g., the control signal CTRL) that defines one of a plurality of supported input oversampling factors and in response to a deskew signal (e.g., the deskew signal DSKW) defining a skew value associated with the input signal. At 356, a subset of samples (e.g., the subset of samples SG) from the digital sample block is chosen via each of a plurality of sample selectors (e.g., the sample selectors 58) associated with a sample selector bank (e.g., the sample selector bank 12) based on a respective effective integer-sample shift value defined by the integer component of each of the respective plurality of the selection signals.

At 358, a set of tap weights (e.g., the tap weights TW) are selected via each of a plurality of tap weights selectors (e.g., the tap weights selectors 62) based on a respective fractional-sample instance value defined by the fractional components of each of the respective plurality of the selection signals. At 360, the respective subset of samples from the digital sample block are filtered via each of a respective plurality of filters (e.g., the filters 66) associated with a filter bank (e.g., the filter bank 16) using the respective tap weights to generate a plurality of weighted samples (e.g., the weighted samples W_SMPL). At 362, the plurality of weighted samples are reformatted to generate a filtered sample block (e.g., one of the filtered sample blocks 260, 272, 282, and 288) based on a selected one of a plurality of supported resampling ratios.

What have been described above are examples of the present invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the present invention, but one of ordinary skill in the art will recognize that many further combinations and permutations of the present invention are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the prepended claims. Additionally, where the disclosure or claims recite “a,” “an,” “a first,” or “another” element, or the equivalent thereof, it should be interpreted to include one or more than one such element, neither requiring nor excluding two or more such elements. As used herein, the term “includes” means includes but not limited to, and the term “including” means including but not limited to. The term “based on” means based at least in part on. 

What is claimed is:
 1. A digital signal conditioner (DSC) system comprising: a sample selector bank configured to receive a digital sample block comprising a predetermined quantity of input digital samples associated with an input signal that is provided at one of a plurality of supported input oversampling factors, the sample selector bank comprising a plurality of sample selectors each configured to select a subset of samples from the digital sample block based on one of a respective plurality of selection signals; a tap weights selector bank comprising a plurality of tap weights selectors that are each configured to generate a set of tap weights based on the respective plurality of selection signals; a filter bank comprising a plurality of filters that are each configured to receive the subset of the samples from each of the respective plurality of sample selectors and to a respective set of tap weights, each of the plurality of filters being further configured to provide a weighted sample associated with the respective subset of samples and the respective set of tap weights; and a reformattor configured to receive the weighted sample from each of the plurality of filters and to provide a filtered sample block at a predetermined output oversampling factor for each of the plurality of supported input oversampling factors based on a selected one of a plurality of supported resampling ratios, the filtered sample block comprising the weighted sample from each of a subset of the plurality of filters selected based on the selected one of the plurality of supported resampling ratios. 